Oxlint の Type-Aware Linting について何もわからんので色々読む
まずはこれから読むぞ
型情報を使用するのでプロジェクト全体の見る必要がある
(tsgo が出たおかげで 10x faster になったけど) 次はこれ
待望の no-floating-promises ルールとか関連ルールについても載ってるらしい
このバージョンでは linter が必要とする洗練された設定解決を含まない type-aware ルールだけ含んでいる
アーキテクチャとしては
code:text
oxlint CLI (returns paths + rules + configuration)
-> tsgolint (returns diagnostics)
-> oxlint CLI (prints diagnostics)
代わりに内部 API に "shim" してこじ開けて tsgo をコンパイルしている(!) type-aware ルールはすべてこのこじ開けられた API を直接利用している
推奨されたことじゃないけど動いた!
While this isn't the recommended approach for accessing internals, it works!
...
Biome は ver 2.0 に向けて独自のタイプチェッカーをやってるらしい Oxc では自前でそこやるのは実現可能なことじゃないと判断した これらの方法でも機能するけど以下を伴う
Oxlint が求めるスピードにパフォーマンスの課題が見合わない tsgolint がパフォーマンスの課題について解決するけどそれでも依然として技術的な挑戦がある このリスクを許容して tsgo の破壊的変更の際には修正することに決めたそう 個人的ルールを設定可能
個人的ルールの確かさ
全体的な安全さ
で次にこれ
この Alpha のマイルストーンで安定性、設定可能性、ルールのカバレッジがめちゃ改善された no-floating-promises, no-misused-promises, await-thenable など TypeScript の型情報を活用した強力な lint ルールがある これらを含む 43 個の type-aware lint ルールが使用可能!